#include "main.h"
#include "knx.h"

// programa de u1
void main()
{

    int KNXmidireccion  =b1111000011110000;// 16bits quien manda el mensaje
    int KNXreceptor=b1111000011110001;
   



   while (1)
   {
      if (rc0==1)si se pulsa un pulsador
      {
         call esperat1
         call envio telegrama
         call esperat2
         call acuserecibo
      {
void esperat1 ()
   {
   if (rb5==1),else goto esperat1
      {
         delay (10)
         if rb5==1
         return
      }
void enviotelegrama ()
   {
      call control
      call emisor
      call receptor
      call tres-uno
      call datos
      //call crc
      return
   }
void control ()
   {
      control=b11111111
      palabra=control
      call enviarpalabra
      return
   }
void emisor ()
   {
      emisor=0001000100000001
      palabra=emisor
      call enviarpalabra
      return
   }
void receptor ()
   {
      receptor=0001000100000010
      palabra=receptor
      call enviarpalabra
      return
   }
void tres-uno ()
   {
      tres-uno=00000001
      palabra=tres-uno
      call enviarpalabra
      return
   }
void datos ()
   {
      if (rc0==1)
      {
         datos=b0000000000000001
         palabra=datos
         call enviarpalabra
         return
      }
      else 
      {
         datos=b0000000000000000
         palabra=datos
         call enviarpalabra
         return
      }
 void esperat2
   {
   if (rb5==1),else goto esperat2
      {
         delay (10)
         if rb5==1
         return
      }
void acuserecibo ()
   {
      if (rb5==1),else goto principal
      //fin
void enviarpalabra()
   {
      bit=palabra(0)
      call enviarbit
      bit=palabra(1)
      call enviarbit
      bit=palabra(2)
      call enviarbit
      bit=palabra(3)
      call enviarbit
      bit=palabra(4)
      call enviarbit
      bit=palabra(5)
      call enviarbit
      call enviarbit
      bit=palabra(6)
      call enviarbit
      bit=palabra(7)
      call enviarbit
      palabra=b00000000
      return
   }
void enviarbit()
   {
      if (bit=1)
         {
            output (rb7=1)
            bit=0
            return
         }
       else
         {
            output (rb7=0)
            return
         }
   }
           Si envio telegrama a u2 sin problemas
            Intercambiar Salida
      }
   }
}
